/*
 *  Copyright (c) Meta Platforms, Inc. and affiliates.
 *
 *  This source code is licensed under the MIT license found in the LICENSE
 *  file in the root directory of this source tree.
 *
 */

/*
 *  THIS FILE IS AUTOGENERATED. DO NOT MODIFY IT; ALL CHANGES WILL BE LOST IN
 *  VAIN.
 *
 *  @generated
 */
#include "CarbonThriftTestRouterInfo.h"

#include <folly/dynamic.h>

#include <mcrouter/routes/McRouteHandleProvider.h>

#include <mcrouter/routes/AllAsyncRouteFactory.h>
#include <mcrouter/routes/AllFastestRouteFactory.h>
#include <mcrouter/routes/AllInitialRouteFactory.h>
#include <mcrouter/routes/AllMajorityRouteFactory.h>
#include <mcrouter/routes/AllSyncRouteFactory.h>
#include <mcrouter/routes/BlackholeRoute.h>
#include <mcrouter/routes/DevNullRoute.h>
#include <mcrouter/routes/ErrorRoute.h>
#include <mcrouter/routes/FailoverRoute.h>
#include <mcrouter/routes/HashRouteFactory.h>
#include <mcrouter/routes/HostIdRouteFactory.h>
#include <mcrouter/routes/LatencyInjectionRoute.h>
#include <mcrouter/routes/LatestRoute.h>
#include <mcrouter/routes/LoadBalancerRoute.h>
#include <mcrouter/routes/LoggingRoute.h>
#include <mcrouter/routes/MigrateRouteFactory.h>
#include <mcrouter/routes/MissFailoverRoute.h>
#include <mcrouter/routes/ModifyKeyRoute.h>
#include <mcrouter/routes/OperationSelectorRoute.h>
#include <mcrouter/routes/OutstandingLimitRoute.h>
#include <mcrouter/routes/RandomRouteFactory.h>

namespace facebook {
namespace memcache {
namespace mcrouter {

template carbon::test::CarbonThriftTestRouterInfo::RouteHandlePtr
makeAllAsyncRoute<carbon::test::CarbonThriftTestRouterInfo>(
RouteHandleFactory<carbon::test::CarbonThriftTestRouterInfo::RouteHandleIf>& factory,
const folly::dynamic& json);

template carbon::test::CarbonThriftTestRouterInfo::RouteHandlePtr
makeAllFastestRoute<carbon::test::CarbonThriftTestRouterInfo>(
RouteHandleFactory<carbon::test::CarbonThriftTestRouterInfo::RouteHandleIf>& factory,
const folly::dynamic& json);

template carbon::test::CarbonThriftTestRouterInfo::RouteHandlePtr
makeAllInitialRoute<carbon::test::CarbonThriftTestRouterInfo>(
RouteHandleFactory<carbon::test::CarbonThriftTestRouterInfo::RouteHandleIf>& factory,
const folly::dynamic& json);

template carbon::test::CarbonThriftTestRouterInfo::RouteHandlePtr
makeAllMajorityRoute<carbon::test::CarbonThriftTestRouterInfo>(
RouteHandleFactory<carbon::test::CarbonThriftTestRouterInfo::RouteHandleIf>& factory,
const folly::dynamic& json);

template carbon::test::CarbonThriftTestRouterInfo::RouteHandlePtr
makeAllSyncRoute<carbon::test::CarbonThriftTestRouterInfo>(
RouteHandleFactory<carbon::test::CarbonThriftTestRouterInfo::RouteHandleIf>& factory,
const folly::dynamic& json);

template carbon::test::CarbonThriftTestRouterInfo::RouteHandlePtr
makeBlackholeRoute<carbon::test::CarbonThriftTestRouterInfo>(
RouteHandleFactory<carbon::test::CarbonThriftTestRouterInfo::RouteHandleIf>& factory,
const folly::dynamic& json);

template carbon::test::CarbonThriftTestRouterInfo::RouteHandlePtr
makeDevNullRoute<carbon::test::CarbonThriftTestRouterInfo>(
RouteHandleFactory<carbon::test::CarbonThriftTestRouterInfo::RouteHandleIf>& factory,
const folly::dynamic& json);

template carbon::test::CarbonThriftTestRouterInfo::RouteHandlePtr
makeErrorRoute<carbon::test::CarbonThriftTestRouterInfo>(
RouteHandleFactory<carbon::test::CarbonThriftTestRouterInfo::RouteHandleIf>& factory,
const folly::dynamic& json);

template carbon::test::CarbonThriftTestRouterInfo::RouteHandlePtr
makeHashRoute<carbon::test::CarbonThriftTestRouterInfo>(
RouteHandleFactory<carbon::test::CarbonThriftTestRouterInfo::RouteHandleIf>& factory,
const folly::dynamic& json);

template carbon::test::CarbonThriftTestRouterInfo::RouteHandlePtr
makeHostIdRoute<carbon::test::CarbonThriftTestRouterInfo>(
RouteHandleFactory<carbon::test::CarbonThriftTestRouterInfo::RouteHandleIf>& factory,
const folly::dynamic& json);

template carbon::test::CarbonThriftTestRouterInfo::RouteHandlePtr
makeLatencyInjectionRoute<carbon::test::CarbonThriftTestRouterInfo>(
RouteHandleFactory<carbon::test::CarbonThriftTestRouterInfo::RouteHandleIf>& factory,
const folly::dynamic& json);

template carbon::test::CarbonThriftTestRouterInfo::RouteHandlePtr
makeLatestRoute<carbon::test::CarbonThriftTestRouterInfo>(
RouteHandleFactory<carbon::test::CarbonThriftTestRouterInfo::RouteHandleIf>& factory,
const folly::dynamic& json);

template carbon::test::CarbonThriftTestRouterInfo::RouteHandlePtr
makeLoadBalancerRoute<carbon::test::CarbonThriftTestRouterInfo>(
RouteHandleFactory<carbon::test::CarbonThriftTestRouterInfo::RouteHandleIf>& factory,
const folly::dynamic& json);

template carbon::test::CarbonThriftTestRouterInfo::RouteHandlePtr
makeLoggingRoute<carbon::test::CarbonThriftTestRouterInfo>(
RouteHandleFactory<carbon::test::CarbonThriftTestRouterInfo::RouteHandleIf>& factory,
const folly::dynamic& json);

template carbon::test::CarbonThriftTestRouterInfo::RouteHandlePtr
makeMigrateRoute<carbon::test::CarbonThriftTestRouterInfo>(
RouteHandleFactory<carbon::test::CarbonThriftTestRouterInfo::RouteHandleIf>& factory,
const folly::dynamic& json);

template carbon::test::CarbonThriftTestRouterInfo::RouteHandlePtr
makeMissFailoverRoute<carbon::test::CarbonThriftTestRouterInfo>(
RouteHandleFactory<carbon::test::CarbonThriftTestRouterInfo::RouteHandleIf>& factory,
const folly::dynamic& json);

template carbon::test::CarbonThriftTestRouterInfo::RouteHandlePtr
makeModifyKeyRoute<carbon::test::CarbonThriftTestRouterInfo>(
RouteHandleFactory<carbon::test::CarbonThriftTestRouterInfo::RouteHandleIf>& factory,
const folly::dynamic& json);

template carbon::test::CarbonThriftTestRouterInfo::RouteHandlePtr
makeOperationSelectorRoute<carbon::test::CarbonThriftTestRouterInfo>(
RouteHandleFactory<carbon::test::CarbonThriftTestRouterInfo::RouteHandleIf>& factory,
const folly::dynamic& json);

template carbon::test::CarbonThriftTestRouterInfo::RouteHandlePtr
makeRandomRoute<carbon::test::CarbonThriftTestRouterInfo>(
RouteHandleFactory<carbon::test::CarbonThriftTestRouterInfo::RouteHandleIf>& factory,
const folly::dynamic& json);

template class ExtraRouteHandleProviderIf<carbon::test::CarbonThriftTestRouterInfo>;

} // namespace mcrouter
} // namespace memcache
} // namespace facebook
